package com.order.dao.impl;

import java.util.List;
import javax.annotation.Resource;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.stereotype.Repository;

import com.order.dao.IContactDao;
import com.order.domain.Contact;


@Repository("contactDao")
public class ContactDaoImpl implements IContactDao {

	@Resource(name="hibernateTemplate")
	private HibernateTemplate hibernateTemplate;
	
	@Override
	public void update(Integer countContact) {
		
		Contact contact = hibernateTemplate.get(Contact.class, 1);
		
		contact.setCountContact(countContact);
		//contact.setDate(strDate);
		
		hibernateTemplate.update(contact);
	}

	@Override
	public void update(Contact contact) {
		hibernateTemplate.update(contact);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Contact> find(Integer contactId) {
		return  (List<Contact>) hibernateTemplate.find("from Contact where contactId = ? ", contactId);
		
	}

	@Override
	public void update() {
		Contact contact = hibernateTemplate.get(Contact.class, 1);
		contact.setCountContact(contact.getCountContact() + 1);
		hibernateTemplate.update(contact);
	}

	@Override
	public void update(String date) {
		Contact contact = hibernateTemplate.get(Contact.class, 1);
		contact.setCountContact(0);
		contact.setDate(date);
		hibernateTemplate.update(contact);
	}

	@Override
	public void updateReduce() {
		Contact contact = hibernateTemplate.get(Contact.class, 1);
		contact.setCountContact(contact.getCountContact() - 1);
		hibernateTemplate.update(contact);
		
	}

}
